LoginSignup
20
14

More than 3 years have passed since last update.

GASでタイムゾーンを変更できなくて困った話

Last updated at Posted at 2020-09-05

GAS(Google Apps Script)で new Date() したら変な時間になってる!なんでやねん!となったので調べたことを備忘録としてまとめました。

事象

new Date() で現在日時をログに出力してみたらタイムトラベルしていた。
ただ今、日本時刻2020年9月5日 01:40ぐらい。
下記GASを実行すると…

    function log() {
      var dt = new Date();
      console.log(dt);
    }

そこはアメリカだった。

なんでやねん!

調べてみるとタイムゾーンがずれているとのこと。

タイムゾーンの変更方法

GASの編集画面の ファイル > プロジェクトのプロパティ から変更できるらしい。

変更できる人はここで変更して保存したらおしまいです。

変更できないじゃん…。
本来はタイムゾーンの東部時間と表示されている部分がプルダウンになっていて選択できるらしい。

これは困った…。

さらに調べているとプロジェクトのプロパティの中身を直接編集できるらしい。

appsscript.jsonを直接編集する

スクリプトエディタの 表示 > マニュフェスト ファイルを表示 を押下するとappsscript.jsonフェイルが表示される。

    {
      "timeZone": "America/New_York",
      "dependencies": {
      },
      "exceptionLogging": "STACKDRIVER",
      "runtimeVersion": "V8",
      "sheets": {
        "macros": [{
          "menuName": "log",
          "functionName": "log"
        }]
      }
    }

TimeZoneの部分を「Asia/Tokyo」に変更して保存すると…

     "timeZone": "Asia/Tokyo",

タイムゾーンが東京に変わってますね!

先程のGASを実行すると…

無事、日本に帰ってくることができました。
めでたし、めでたし。

20
14
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
20
14